<!DOCTYPE HTML>
<link rel="help" href="http://url.spec.whatwg.org/#dom-url-protocol">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>

test(function() {
    var url = new URL('http://www.domain.com');
    assert_equals(url.protocol, 'http:');

    url.protocol = 'https';
    assert_equals(url.protocol, 'https:');

    url.protocol = 'https:';
    assert_equals(url.protocol, 'https:');

    url.protocol = 'invalid/protocol';
    assert_equals(url.protocol, 'https:');
}, 'protocol property');

test(function() {
    var url = new URL('http://www.domain.com');
    var expected = 'http:';
    assert_equals(url.protocol, expected);

    assert_throws_js(TypeError, () => { url.href = 'invalid'; });
    assert_equals(url.protocol, expected);

    url.protocol = 'https';
    assert_equals(url.protocol, 'https:');
    assert_equals(url.href, 'https://www.domain.com/');
}, 'protocol property invalid URL');

</script>
